package applicationModels;

import java.io.Serializable;

import dominio.Casillero;
import exceptions.ErrorTerreno;

public class Maceta implements Serializable{
	private Juego juego;
	private Casillero casillero;
	
	public Maceta(Juego j, Casillero c) {
		this.juego = j;
		this.casillero = c;
	}
	
	/**
	 * Al clickear en una maceta,
	 * 		si esta ocupada, desplanta la que esta
	 * 		sino planta la que este seleccionada
	 * 
	 * @throws ErrorTerreno si no corresponde el
	 * terreno de la planta con el del casillero
	 */
	public void clickMaceta() {
		if(this.casillero.ocupado()) {
			this.juego.putMessage("Has desplantado un " + juego.getPlantaPlantar().getNombre());
			this.casillero.desplantar();
		} else {
			try {
				this.casillero.plantar(this.juego.getPlantaPlantar());
				this.juego.putMessage(" Has plantado un " + juego.getPlantaPlantar().getNombre());
			} catch (ErrorTerreno e) {
				this.juego.putMessage("Terreno incorrecto!");
			}
			
		}
	}
	
	public String getOcupante() {
		return this.casillero.getOcupante();
	}

}
